home *** CD-ROM | disk | FTP | other *** search
/ Windows Expert / Windows Expert.iso / windownt / sny31i.zip / OEMSETUP.INF next >
INI File  |  1993-07-24  |  14KB  |  419 lines

  1. [Identification]
  2.     OptionType = SCSI
  3.  
  4.  
  5. [LanguagesSupported]
  6.     ENG
  7.  
  8.  
  9. [Options]
  10.     "SLCD"       = Slcd32
  11.  
  12.  
  13. [OptionsTextENG]
  14.     "SLCD"       = "Sony CDU-31A"
  15.  
  16. [MiniportDrivers]
  17.     Slcd32  = !SERVICE_KERNEL_DRIVER, "SCSI Miniport", !SERVICE_ERROR_NORMAL, 20, %SystemRoot%\System32\IoLogMsg.dll , 7
  18.  
  19. [Identify]
  20.     read-syms Identification
  21.     set Status     = STATUS_SUCCESSFUL
  22.     set Identifier = $(OptionType)
  23.     set Media      = #("Source Media Descriptions", 1, 1)
  24.     Return $(Status) $(Identifier) $(Media)
  25.  
  26.  
  27. [ReturnOptions]
  28.     set Status        = STATUS_FAILED
  29.     set OptionList     = {}
  30.     set OptionTextList = {}
  31.     set LanguageList = ^(LanguagesSupported, 1)
  32.     Ifcontains(i) $($0) in $(LanguageList)
  33.         goto returnoptions
  34.     else
  35.         set Status = STATUS_NOLANGUAGE
  36.         goto finish_ReturnOptions
  37.     endif
  38. returnoptions = +
  39.     set OptionList     = ^(Options, 0)
  40.     set OptionTextList = ^(OptionsText$($0), 1)
  41.     set Status         = STATUS_SUCCESSFUL
  42. finish_ReturnOptions = +
  43.     Return $(Status) $(OptionList) $(OptionTextList)
  44.  
  45. [InstallOption]
  46.     set Status = STATUS_FAILED
  47.     set DrivesToFree = {}
  48.     set Option   = $($1)
  49.     set SrcDir   = $($2)
  50.     set AddCopy  = $($3)
  51.     set DoCopy   = $($4)
  52.     set DoConfig = $($5)
  53.     set LanguageList = ^(LanguagesSupported, 1)
  54.     Ifcontains(i) $($0) in $(LanguageList)
  55.     else
  56.         set Status = STATUS_NOLANGUAGE
  57.         goto finish_InstallOption
  58.     endif
  59.     read-syms Strings$($0)
  60.     set OptionList = ^(Options, 0)
  61.     ifcontains $(Option) in $(OptionList)
  62.     else
  63.         Debug-Output "SCSI.INF: SCSI option is not supported."
  64.         goto finish_InstallOption
  65.     endif
  66.     set OptionList = ""
  67.  
  68.     ;
  69.     ; Option has been defined already
  70.     ;
  71.  
  72.     set MiniportDriver   =   #(Options,         $(Option),         1)
  73.     set Type             = $(#(MiniportDrivers, $(MiniportDriver), 1))
  74.     set Group            =   #(MiniportDrivers, $(MiniportDriver), 2)
  75.     set ErrorControl     = $(#(MiniportDrivers, $(MiniportDriver), 3))
  76.     set Tag              =   #(MiniportDrivers, $(MiniportDriver), 4)
  77.     set EventMessageFile =   #(MiniportDrivers, $(MiniportDriver), 5)
  78.     set TypesSupported   =   #(MiniportDrivers, $(MiniportDriver), 6)
  79.  
  80.     set Start            =   $(!SERVICE_SYSTEM_START)
  81.  
  82.     shell "registry.inf" GetServicesEntryStart $(MiniportDriver)
  83.     ifint $($ShellCode) == $(!SHELL_CODE_OK)
  84.         ifstr(i) $($R0) == "STATUS_SUCCESSFUL"
  85.             ifstr(i) $($R1) == $(!SERVICE_BOOT_START)
  86.                 set Start = $(!SERVICE_BOOT_START)
  87.             endif
  88.         endif
  89.     endif
  90.  
  91. installtheoption = +
  92.     ifstr(i) $(AddCopy) == "YES"
  93.         set DoActualCopy = NO
  94.         set FileToCheck = #(Files-ScsiMiniportDrivers, $(MiniportDriver), 2)
  95.         LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\drivers\"$(FileToCheck)
  96.         ifstr(i) $(STATUS) == NO
  97.             set DoActualCopy = YES
  98.         endif
  99.  
  100.         ifstr(i) $(DoActualCopy) == NO
  101.             shell "subroutn.inf" DriversExist $($0) $(String1)
  102.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  103.                 Debug-Output "SCSI.INF: shelling DriversExist failed"
  104.                 goto finish_InstallOption
  105.             endif
  106.  
  107.             ifstr(i) $($R0) == STATUS_CURRENT
  108.             else-ifstr(i) $($R0) == STATUS_NEW
  109.                 set DoActualCopy = YES
  110.             else-ifstr(i) $($R0) == STATUS_USERCANCEL
  111.                 Debug-Output "SCSI.INF: User cancelled SCSI installation"
  112.                 goto finish_InstallOption
  113.             else
  114.                 Debug-Output "SCSI.INF: Error reported in DriversExist routine in SUBROUTN.INF"
  115.                 goto finish_InstallOption
  116.             endif
  117.         endif
  118.  
  119.         ifstr(i) $(DoActualCopy) == YES
  120.  
  121.             shell "subroutn.inf" DoAskSourceEx $(SrcDir) $(String2)
  122.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  123.                 Debug-Output "SCSI.INF: shelling DoAskSourceEx failed"
  124.                 goto finish_InstallOption
  125.             endif
  126.  
  127.             ifstr(i) $($R0) == STATUS_SUCCESSFUL
  128.                 set SrcDir = $($R1)
  129.                 ifstr(i) $($R2) != ""
  130.                     set DrivesToFree = >($(DrivesToFree), $($R2))
  131.                 endif
  132.             else
  133.                 Debug-Output "SCSI.INF: User cancelled asking source."
  134.                 goto finish_InstallOption
  135.             endif
  136.  
  137.             install Install-AddCopyOption
  138.             ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS"
  139.                 Debug-Output "Adding SCSI files to copy list failed"
  140.                 goto finish_InstallOption
  141.             endif
  142.         else
  143.             set DoCopy = NO
  144.         endif
  145.  
  146.     endif
  147.  
  148.     ifstr(i) $(DoCopy) == "YES"
  149.         read-syms ProgressCopy$($0)
  150.         install Install-DoCopyOption
  151.         ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_FAILURE"
  152.             Debug-Output "Copying files failed"
  153.             goto finish_InstallOption
  154.         else-ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_USERQUIT"
  155.             set Status = STATUS_USERCANCEL
  156.             goto finish_InstallOption
  157.         endif
  158.     endif
  159.  
  160.     ifstr(i) $(DoConfig) == "YES"
  161.         shell "registry.inf" CheckSetupModify
  162.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  163.             goto finish_InstallOption
  164.         endif
  165.  
  166.         ifstr(i) $($R0) != STATUS_SUCCESSFUL
  167.             goto finish_InstallOption
  168.         endif
  169.  
  170.         set ServiceNode   = $(MiniportDriver)
  171.         set ServiceBinary = %SystemRoot%\System32\drivers\#(Files-ScsiMiniportDrivers, $(MiniportDriver), 2)
  172.  
  173.         set ServicesValues   = { +
  174.                 {Type,           0, $(!REG_VT_DWORD),     $(Type)                  }, +
  175.                 {Start,          0, $(!REG_VT_DWORD),     $(Start)                 }, +
  176.                 {Group,          0, $(!REG_VT_SZ),        $(Group)                 }, +
  177.                 {ErrorControl,   0, $(!REG_VT_DWORD),     $(ErrorControl)          }, +
  178.                 {Tag,            0, $(!REG_VT_DWORD),     $(Tag)                   }, +
  179.                 {BinaryPathName, 0, $(!REG_VT_EXPAND_SZ), $(ServiceBinary)         }  +
  180.                 }
  181.         set ParametersValues = ""
  182.         set DeviceValues     = {}
  183.         set EventLogValues   = { +
  184.                 {EventMessageFile, 0, $(!REG_VT_EXPAND_SZ), $(EventMessageFile) }, +
  185.                 {TypesSupported,   0, $(!REG_VT_DWORD),     $(TypesSupported)   }  +
  186.                 }
  187.  
  188.         shell "registry.inf"  MakeServicesEntry $(ServiceNode)      +
  189.                                                 $(ServicesValues)   +
  190.                                                 $(ParametersValues) +
  191.                                                 $(DeviceValues)     +
  192.                                                 $(EventLogValues)   +
  193.                                                 Parameters
  194.  
  195.  
  196.  
  197.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  198.             Debug-Output "Couldn't execute MakeServicesEntry in registry.inf"
  199.             goto finish_InstallOption
  200.         endif
  201.  
  202.         ifstr(i) $($R0) != STATUS_SUCCESSFUL
  203.             Debug-Output "MakeServicesEntry failed for SCSI"
  204.             goto finish_InstallOption
  205.         endif
  206.  
  207.     endif
  208.  
  209.     set Status = STATUS_SUCCESSFUL
  210. finish_InstallOption = +
  211.     ForListDo $(DrivesToFree)
  212.         LibraryProcedure STATUS,$(!LIBHANDLE), DeleteNetConnection $($) "TRUE"
  213.     EndForListDo
  214.  
  215.     Return $(Status)
  216.  
  217.  
  218. [Install-AddCopyOption]
  219.  
  220.     ;
  221.     ; Add the files to the copy list
  222.     ;
  223.     AddSectionKeyFileToCopyList   Files-ScsiMiniportDrivers         +
  224.                                   $(MiniportDriver)                 +
  225.                                   $(SrcDir)                      +
  226.                                   $(!STF_WINDOWSSYSPATH)\drivers
  227.  
  228.     exit
  229.  
  230.  
  231. [Install-DoCopyOption]
  232.  
  233.     ;
  234.     ; Copy files in the copy list
  235.     ;
  236.     CopyFilesInCopyList
  237.     exit
  238.  
  239. [DeInstallOption]
  240.     ;
  241.     ; Set default values for
  242.     ;
  243.     set Status   = STATUS_FAILED
  244.     ;
  245.     ; extract parameters
  246.     ;
  247.     set Option   = $($1)
  248.  
  249.     ;
  250.     ; Check if the language requested is supported
  251.     ;
  252.     set LanguageList = ^(LanguagesSupported, 1)
  253.     Ifcontains(i) $($0) in $(LanguageList)
  254.     else
  255.         set Status = STATUS_NOLANGUAGE
  256.         goto finish_DeInstallOption
  257.     endif
  258.     read-syms Strings$($0)
  259.  
  260.     ;
  261.     ; check to see if Option is supported.
  262.     ;
  263.  
  264.     set OptionList = ^(Options, 0)
  265.     ifcontains $(Option) in $(OptionList)
  266.     else
  267.         goto finish_DeInstallOption
  268.     endif
  269.     set OptionList = ""
  270.  
  271.     ;
  272.     ; fetch details about option
  273.     ;
  274.  
  275.     set MiniportDriver = #(Options, $(Option), 1)
  276.     set MiniportFile   = #(Files-ScsiMiniportDrivers, $(MiniportDriver), 2)
  277.     set FilePath       = $(!STF_WINDOWSSYSPATH)"\drivers\"$(MiniportFile)
  278.  
  279.     ;
  280.     ; check to see if file is installed
  281.     ; if not give success
  282.     ;
  283.  
  284.     LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(FilePath)
  285.     ifstr(i) $(STATUS) == "NO"
  286.         set Status = STATUS_SUCCESSFUL
  287.         goto finish_DeInstallOption
  288.     endif
  289.  
  290.     shell "registry.inf" GetServicesEntryStart $(MiniportDriver)
  291.     ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  292.         ; this could happen if there is no start value or there is no
  293.         ; key, in which case the option is not installed
  294.         set Status = STATUS_SUCCESSFUL
  295.         goto finish_DeInstallOption
  296.     endif
  297.  
  298.     ifstr(i) $($R1) == $(!SERVICE_BOOT_START)
  299.         shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "WARNING" $(String3)
  300.         ifstr(i) $($R0) != STATUS_SUCCESSFUL
  301.             goto do_removal
  302.         endif
  303.         ifstr(i) $($R1) == "CANCEL"
  304.             goto finish_DeInstallOption
  305.         endif
  306.     endif
  307.  
  308. do_removal =+
  309.     ;
  310.     ; disable the registry entry
  311.     ;
  312.  
  313.     shell "registry.inf" RemoveServicesEntry $(MiniportDriver)
  314.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  315.         Debug-Output "SCSI.INF: Failed to shell RemoveServicesEntry"
  316.         goto finish_DeInstallOption
  317.     endif
  318.  
  319.     ifstr(i) $($R0) != STATUS_SUCCESSFUL
  320.         Debug-Output "SCSI.INF: Failed to disable services entry"
  321.         goto finish_DeInstallOption
  322.     endif
  323.  
  324.     ;
  325.     ; we won't remove the file because we can only do so during the next boot.
  326.     ; if the user chooses to reinstall the same driver during this boot
  327.     ; he will still end up deleting the driver on next boot. if the file
  328.     ; should be deleted a warning should be put up saying that the user should
  329.     ; not try to reinstall the driver during this boot
  330.     ;
  331.     ;    AddFileToDeleteList $(FilePath)
  332.  
  333.     set Status = STATUS_SUCCESSFUL
  334.  
  335. finish_DeInstallOption =+
  336.     return $(Status)
  337.  
  338.  
  339. ;-------------------------------------------------------------------------
  340. ; 5. GetInstalledOptions:
  341. ;
  342. ; FUNCTION:  To find out the list of options which are installed
  343. ;
  344. ; INPUT:     $($0): Language to Use
  345. ;
  346. ; OUTPUT:    $($R0): STATUS: STATUS_SUCCESSFUL |
  347. ;                            STATUS_FAILED
  348. ;
  349. ;            $($R1): List of options installed
  350. ;            $($R2): Option installed Text List
  351. ;-------------------------------------------------------------------------
  352. [GetInstalledOptions]
  353.     set Status = STATUS_FAILED
  354.     set InstalledOptions = {}
  355.     set InstalledOptionsText = {}
  356.  
  357.     ;
  358.     ; Check if the language requested is supported
  359.     ;
  360.     set LanguageList = ^(LanguagesSupported, 1)
  361.     Ifcontains(i) $($0) in $(LanguageList)
  362.     else
  363.         set Status = STATUS_NOLANGUAGE
  364.         goto finish_GetInstalledOptions
  365.     endif
  366.  
  367.     set OptionList = ^(Options, 0)
  368.     ForListDo $(OptionList)
  369.         set MiniportDriver = #(Options, $($), 1)
  370.         set MiniportFile   = #(Files-ScsiMiniportDrivers, $(MiniportDriver), 2)
  371.         set FilePath       = $(!STF_WINDOWSSYSPATH)"\drivers\"$(MiniportFile)
  372.         LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(FilePath)
  373.         ifstr(i) $(STATUS) == "YES"
  374.             shell "registry.inf" GetServicesEntryStart $(MiniportDriver)
  375.             ifint $($ShellCode) == $(!SHELL_CODE_OK)
  376.                 ifstr(i) $($R0) == STATUS_SUCCESSFUL
  377.                     ifstr(i) $($R1) != $(!SERVICE_DISABLED)
  378.  
  379.                         set OptionText = #(OptionsText$($0), $($), 1)
  380.                         set InstalledOptions     = >($(InstalledOptions), $($))
  381.                         set InstalledOptionsText = >($(InstalledOptionsText), $(OptionText))
  382.  
  383.                     endif
  384.                 endif
  385.             endif
  386.         endif
  387.     EndForListDo
  388.     set Status = STATUS_SUCCESSFUL
  389. finish_GetInstalledOptions =+
  390.     Return $(Status) $(InstalledOptions) $(InstalledOptionsText)
  391.  
  392.  
  393. ;**************************************************************************
  394. ; PROGRESS GUAGE VARIABLES
  395. ;**************************************************************************
  396.  
  397. [ProgressCopyENG]
  398.     ProCaption   = "Windows NT Setup"
  399.     ProCancel    = "Cancel"
  400.     ProCancelMsg = "Windows NT is not correcly installed.  Are you sure you want "+
  401.                    "to cancel copying files?"
  402.     ProCancelCap = "Setup Message"
  403.     ProText1     = "Copying:"
  404.     ProText2     = "To:"
  405.  
  406. [StringsENG]
  407.     String1 = "SCSI Adapter"
  408.     String2 = "Please enter the full path to the OEM SCSI "+
  409.               "Adapter files.  Then choose Continue."
  410.     String3 = "The SCSI Adapter has been marked as a boot device.  Removing "+
  411.               "it may cause the system not to boot."$(!LF)$(!LF)"Are you sure "+
  412.               "you want to remove the Adapter."
  413.  
  414. [Source Media Descriptions]
  415.     1  = "Sony CDU-31A DISK (SCSI)"  , TAGFILE = slcd32.sys
  416.  
  417. [Files-ScsiMiniportDrivers]
  418. Slcd32 = 1,slcd32.sys,SIZE=50688
  419.